var OrgGoalSettingDto = Ext.data.Record.create([
{
	name : 'id',
	mapping : 'id',
	type : 'int'
}, {
	name : 'goalId',
	mapping : 'goalId',
	type : 'int'
}, {
	name : 'orgId',
	mapping : 'orgId',
	type : 'int'
}, {
	name : 'name',
	mapping : 'name',
	type : 'string'
}, {
	name : 'point',
	mapping : 'point',
	type : 'int'
}, {
	name : 'score',
	mapping : 'score',
	type : 'float'
}, {
	name : 'content',
	mapping : 'content',
	type : 'string'
}, {
	name : 'year',
	mapping : 'year',
	type : 'int'
}, {
	name : 'goalType',
	mapping : 'goalType',
	type : 'string'
} ]);
 
//var btn_check_col = new Ext.grid.ButtonColumn({
//			buttenText : '打分',
//			header : "操作",
//			dataindex : 'id',
//			onClick : function(ButtonColumn, grid, record, field, value) {
//				// var store = grid.store;
//				// alert(1);
//				// FPQXWin(store, record);
//				// plugins:checkColumn
//			}
//		});

var orgCheckScore = function(value, cellmeta, record) {
	// alert(value);
	// window_edit_orgcheck.show(this);
	// window_edit_orgcheck.center();
}
var sm = new Ext.grid.RowNumberer();
var cm_orggoalsetting = new Ext.grid.ColumnModel([
	new Ext.grid.CheckboxSelectionModel({singleSelect : true}),
//	new Ext.grid.RowNumberer({
//					header : '序号',
//					width : 40,
//					dataIndex : 'id'
//				}), {
//			id : 'detailId',
//			header : "指标 id",
//			width : 100,
//			hidden : true,
//			dataIndex : 'detailId'
//		},
		// {id: 'orgId',header: "被考核部门", width: 100, sortable: true, dataIndex:
		// 'orgId',
		// renderer : function(v) {
		// var ret = '';
		// var size = ds_org_select.getCount();
		// for (var i = 0; i < size; i++) {
		// var record = ds_org_select.getAt(i);
		// var id = record.get('id');
		// if (id == v) {
		// ret = record.get('name');
		// break;
		// }
		// }
		// return (ret == '' || ret == null) ? v : ret;
		// }},
		{
			id : 'content',
			header : "指标内容",
			width : 100,
			sortable : true,
			dataIndex : 'content'
		}, {
			id : 'point',
			header : "分值",
			width : 100,
			sortable : true,
			dataIndex : 'point'
		}, {
			id : 'spec',
			header : "评分标准",
			width : 100,
			sortable : true,
			dataIndex : 'spec'
		}, {
			id : 'type',
			header : "指标类型",
			width : 80,
			hidden : true,
			dataIndex : 'type',
			renderer : fun_getGoalType
		}]);

cm_orggoalsetting.defaultSortable = false;

var btn_add_goal = new Ext.Button({
			text : '增加',
			iconCls : 'icon-add',
			handler : function() {
				var frm = Ext.getCmp('form_query_orggoalsetting').getForm();
				var year = frm.findField('year').getValue();
				var orgId = frm.findField('orgId').getValue();
				if (Ext.isEmpty(year) || Ext.isEmpty(orgId)) {
					Ext.MessageBox.alert("提示", "请选择输入所有查询条件！");
					return;
				}
				window_query_goaldetail.show();
				window_query_goaldetail.center();
				var frmQuery = window_query_goaldetail.findByType('form')[0].getForm();
				//init data
				frmQuery.findField('yearName').setValue(year + '年');
				frmQuery.findField('year').setValue(year);
				frmQuery.findField('orgName').setValue(frm.findField('orgId').getRawValue());
				frmQuery.findField('orgId').setValue(orgId);
			}
		});
var btn_add_goalself = new Ext.Button({
			text : '增加自荐指标',
			iconCls : 'icon-add',
			handler : function() {
				window_add_orggoalsetting.show(this);
				window_add_orggoalsetting.center();
			}
		});
var btn_del_orggoalsetting = new Ext.Button({
			text : '删除',
			iconCls : 'icon-del',
			handler : function() {
				var record = grid_orggoalsetting.getSelectionModel().getSelected();
				if (record) {
					Ext.Msg.confirm('确认删除', '你确定删除该条记录?', function(btn) {
								if (btn == 'yes') {
									Ext.Ajax.request({
												url : '/supervise/biz/orggoalsetting/deleteOrgGoalSetting.action',
												params : {
													id : record.data.id
												},
												success : function() {
													grid_orggoalsetting.getStore().remove(record);
												},
												failure : function() {
													Ext.Msg.show({
																title : '错误提示',
																msg : '删除时发生错误!',
																buttons : Ext.Msg.OK,
																icon : Ext.Msg.ERROR
															});
												}
											});
								}
							});
				}
			}
		});

var btn_save_orggoalsetting = new Ext.Button({
	text : '保存设置',
	iconCls : 'icon-del',
	handler : function() {
		var count = grid_orggoalsetting.getStore().getCount();
		if(count == 0){
			 Ext.Msg.alert('确认保存设置', '没有记录?');
			 return;
		} 
//		alert(grid_orggoalsetting.getStore().getRange(0,count-1));
		var records = grid_orggoalsetting.getStore().getRange(0,count-1);
		for(var i = 0, count = records.length; i < count; i++){
			alert(Ext.util.JSON.encode(records[i].get('id')));
		}
//		var record = grid_orggoalsetting.getStore().data;
//		if (record) {
//			Ext.Msg.confirm('确认保存设置', '你确定删除该条记录?', function(btn) {
//						if (btn == 'yes') {
//							Ext.Ajax.request({
//										url : '/supervise/biz/orgcheck/deleteOrgCheck.action',
//										params : {
//											id : record.data.id
//										},
//										success : function() {
//											grid_orggoalsetting.getStore().remove(record);
//										},
//										failure : function() {
//											Ext.Msg.show({
//														title : '错误提示',
//														msg : '删除时发生错误!',
//														buttons : Ext.Msg.OK,
//														icon : Ext.Msg.ERROR
//													});
//										}
//									});
//						}
//					});
//		}
	}
});
var btn_search_orggoalsetting = new Ext.Button({
			text : '查询',
			iconCls : 'icon-search',
			handler : function() {
				alert(1);
				grid_orggoalsetting.render();
				ds_orggoalsetting.load({
				params : {
					start : 0,
					limit : 20
				}
			});
			}
		});

var ds_orggoalsetting = new Ext.data.Store({
			proxy : new Ext.data.HttpProxy({
						url : '/supervise/biz/orggoalsetting/findOrgGoalSettingByPage.action'
					}),
			reader : new Ext.data.JsonReader({
						root : 'root',
						totalProperty : 'totalProperty'
					}, [{
								name : 'id',
								type : 'int'
							}, {
								name : 'goalId',
								type : 'int'
							}, {
								name : 'orgId',
								type : 'int'
							}, {
								name : 'name',
								type : 'string'
							}, {
								name : 'point',
								type : 'int'
							}, {
								name : 'score',
								type : 'float'
							}, {
								name : 'content',
								type : 'string'
							}, {
								name : 'year',
								type : 'int'
							}, {
								name : 'goalType',
								type : 'string'
							}])
		});

var grid_orggoalsetting = new Ext.grid.GridPanel({
			// title : '考核情况打分',
			// iconCls : 'icon-grid',
			loadMask : {
				msg : '数据加载中...'
			},
			viewConfig : {
				forceFit : true
			},
			region : 'center',
			cm : cm_orggoalsetting,
			sm : new Ext.grid.RowSelectionModel({
						singleSelect : true
					}),
			store : ds_orggoalsetting,
			autoExpandColumn : 'checkResult',
			// plugins: btn_check_col,
			tbar : [btn_add_goal, '-', btn_del_orggoalsetting /*, btn_save_orggoalsetting*/],
			bbar : new Ext.PagingToolbar({
						pageSize : 20,
						store : ds_orggoalsetting,
						displayInfo : false,
						displayMsg : '第 {0} - {1} 条  共 {2} 条',
						refreshText : "刷新",
						emptyMsg : "没有记录"
					}),
			// 检测至少选择一个
			checkOne : function() {
				var selections = this.getSelectionModel().getSelections();
				if (selections.length == 0) {
					Ext.MessageBox.alert("提示", "请选择一条的记录！");
					return false;
				} else if (selections.length != 1) {
					Ext.MessageBox.alert("提示", "不能选择多行！");
					return false;
				}
				return true;
			},

			// 检测必须选择一个
			checkMany : function() {
				var selections = this.getSelectionModel().getSelections();
				if (selections.length == 0) {
					Ext.MessageBox.alert("提示", "请至少选择一条的记录！");
					return false;
				}
				return true;
			},
			listeners : {
				'render' : function(e) {
					// ds_orggoalsetting.load();
				}
			}

		});

var qpanel_orggoalsetting = new Ext.Panel({
			// title : '<h3 style="color:Green">请输入查询条件</h3>',
			height : 120,
			region : "north",
			baseCls : "x-plain",
			style : "padding:5px",
			layout : "column",
			items : [{
						columnWidth : 0.6,
						layout : "form",
						frame : true,
						baseCls : 'x-plain',
						items : [new Ext.FormPanel({
									id : 'form_query_orggoalsetting',
									labelAlign : 'right',
									border : false,
									baseCls : 'x-plain',
									bodyStyle : 'padding:5px 5px 0',
									defaults : {
										anchor : '90%',
										width : 240,
										msgTarget : 'side' // 验证信息显示右边
									},
									defaultType : 'textfield',
									items : [{
												xtype : 'combo',
												fieldLabel : '<span style="color: red">*&nbsp;</span>考核年度',
												hiddenName : 'year',
												valueField : 'value',
												displayField : 'text',
												value : check_year,
												mode : 'local',
												store : ds_year_select,
												value : select_year,
												selectOnFocus : true,
												editable : false,
												allowBlank : false,
												typeAhead : true,
												readOnly : true,
												triggerAction : 'all',
												loadingText : '加载中...',
												emptyText : '请选择考核年度'
											}, new Ext.form.ComboBox({
														fieldLabel : '<span style="color: red">*&nbsp;</span>被考核单位类型', // UI标签名称
														hiddenName : 'orgType',// 作为form提交时传送的参数
														allowBlank : false, // 是否允许为空
														mode : 'local', // 数据模式,local为本地模式
														readOnly : true, // 是否只读
														triggerAction : 'all', // 显示所有下列数.必须指定为'all'
														anchor : '90%',
														emptyText : '请被考核单位类型',
														store : new Ext.data.SimpleStore({ // 填充的数据
															fields : ["retrunValue", "displayText"],
															data : [['unit', '垂直管理单位'], ['dept', '机关'], ['town', '乡镇'],
																	['project', '工业园区管委会和工程建设指挥部']]
														}),
														valueField : 'retrunValue', // 传送的值
														displayField : 'displayText',
														listeners : {
															'select' : function(combo, record, index) {
																var orgType = combo.getValue();
																try {
																	var queryOrg = Ext.getCmp('query_setting_orgId');
																	queryOrg.clearValue();
																	queryOrg.store.reload({
																				params : {
																					orgType : orgType
																				}
																			});
																} catch (ex) {
																	Ext.MessageBox.alert(ex);
																}
															}
														}
													}), {
												id : 'query_setting_orgId',
												xtype : 'combo',
												fieldLabel : '<span style="color: red">*&nbsp;</span>被考核单位',
												hiddenName : 'orgId',
												valueField : 'id',
												displayField : 'name',
												mode : 'local',
												store : new Ext.data.Store({
															url : '/supervise/sys/org/findOrgByType.action',
															reader : new Ext.data.JsonReader({
																		root : 'root'
																	}, [{
																				name : 'id',
																				type : 'int'
																			}, {
																				name : 'name',
																				type : 'string'
																			}])
														}),
												selectOnFocus : true,
												editable : false,
												allowBlank : false,
												triggerAction : 'all',
												loadingText : '加载中...',
												emptyText : '请被考核单位'
											}],
									buttonAlign : 'center',
									minButtonWidth : 60,
									buttons : [{
												text : '查询',
												handler : function(btn) {
													var frm = btn.ownerCt.ownerCt.getForm();
													var year = frm.findField('year').getValue();
													var orgId = frm.findField('orgId').getValue();
													if (Ext.isEmpty(year) || Ext.isEmpty(orgId)) {
														Ext.MessageBox.alert("提示", "请选择输入所有查询条件！");
														return;
													}
													ds_orggoalsetting.load({
																params : {
																	start : 0,
																	limit : 20,
																	year : year,
																	orgId : orgId
																}
															});
												}
											}, {
												text : '重置',
												handler : function() {
													this.ownerCt.ownerCt.getForm().reset();
												}
											}]
								})]
					}]
		});

var orggoalsetting_panel = new Ext.Panel({
			frame : false,
			region : 'center',
			labelWidth : 65,
			title : '被考核部门指标设置',
			labelPad : 45,
			buttonAlign : 'center',
			layout : 'border',
			items : [qpanel_orggoalsetting, grid_orggoalsetting]
		});

var p_orggoalsetting = {
	id : 'orggoalsetting-panel',
	border : false,
	layout : 'border',
	items : [orggoalsetting_panel]
};

var querypanel_goaldetail = new Ext.Panel({
	height : 150,
	region : "north",
	baseCls : "x-plain",
	style : "padding:5px",
	layout : "column",
	items : [{
				columnWidth : 0.6,
				layout : "form",
				frame : true,
				baseCls : 'x-plain',
				items : [new Ext.FormPanel({
							id : 'form_query_goal',
							labelAlign : 'right',
							border : false,
							baseCls : 'x-plain',
							bodyStyle : 'padding:5px 5px 0',
							defaults : {
								anchor : '90%',
								width : 240,
								msgTarget : 'side' // 验证信息显示右边
							},
							defaultType : 'textfield',
							items : [{
										xtype : 'combo',
										fieldLabel : '<span style="color: red">*&nbsp;</span>考核年度',
										hiddenName : 'year',
										valueField : 'value',
										displayField : 'text',
										value : check_year,
										mode : 'local',
										store : ds_year_select,
										value : select_year,
										selectOnFocus : true,
										editable : false,
										allowBlank : false,
										typeAhead : true,
										readOnly : true,
										triggerAction : 'all',
										loadingText : '加载中...',
										emptyText : '请选择考核年度',
										listeners : {
											'select' : function(combo, record, index) {
//												select_year = combo.getValue();
//												var root = catTree.getRootNode();
												// root.setText(check_year
												// + year_category);
//												root.reload();
											}
										}
									}, {
										xtype : 'hidden',
										name : 'categoryId'
									}, /*combotree,*/ {
										fieldLabel : '考核内容',
										name : 'content'
									}, {
										xtype : 'combo',
										fieldLabel : '考核责任单位',
										hiddenName : 'checkOrgId',
										valueField : 'id',
										displayField : 'name',
										mode : 'remote',
										store : ds_org_select,
										// anchor : '100%',
										selectOnFocus : true,
										editable : false,
										allowBlank : true,
										triggerAction : 'all',
										loadingText : '加载中...',
										emptyText : '请选择部门'
									}],
							buttonAlign : 'center',
							minButtonWidth : 60,
							buttons : [{
										text : '查询',
										handler : function(btn) {
											var items = btn.ownerCt.ownerCt.items;
											ds_goaldetail.load({
														params : {
															start : 0,
															limit : 20,
															year : items.get(0).getValue(),
															categoryId : items.get(1).getValue(),
															content : items.get(3).getValue(),
															checkOrgId : items.get(4).getValue()
														}
													});
										}
									}, {
										text : '重置',
										handler : function() {
											var frm = Ext.getCmp('form_query_goal').getForm();
											frm.reset();
										}
									}]
						})]
			}]
});


var window_query_goaldetail = new Ext.Window({
	title : '增加考核指标',
	width : 720,
	height : 800,
	resizable : false,
	autoHeight : false,
	modal : true,
	closeAction : 'hide',
	layout : 'form',
	listeners : {
		'hide' : function() {
			var grid = window_query_goaldetail.findByType('grid')[0];
			if(grid) { 
				grid.getStore().removeAll();
			} 
			var frm = window_query_goaldetail.findByType('form')[0].getForm();
			frm.findField('content').reset();
		}
	},
	items: [query_goaldetail,grid_query_goaldetail]
});

// query window for add
//var cm_query_goaldetail = new Ext.grid.ColumnModel([new Ext.grid.CheckboxSelectionModel({
//					singleSelect : false
//				}), new Ext.grid.RowNumberer({
//					header : '序号',
//					width : 40,
//					dataIndex : 'id'
//				}), {
//			id : 'categoryId',
//			header : "指标目录",
//			width : 80,
//			sortable : true,
//			dataIndex : 'categoryId'
//		}, {
//			id : 'content',
//			header : "考核内容",
//			width : 200,
//			sortable : true,
//			dataIndex : 'content'
//		}, {
//			id : 'point',
//			header : "标准分值",
//			width : 60,
//			sortable : true,
//			dataIndex : 'point'
//		}, {
//			id : 'spec',
//			header : "评分标准",
//			width : 150,
//			sortable : true,
//			dataIndex : 'spec'
//		}, {
//			id : 'ordering',
//			header : "排序",
//			width : 100,
//			hidden : true,
//			dataIndex : 'ordering'
//		}, {
//			id : 'memo',
//			header : "备注",
//			width : 100,
//			hidden : true,
//			dataIndex : 'memo'
//		}, {
//			id : 'checkOrgId',
//			header : "考核责任单位",
//			width : 80,
//			sortable : true,
//			dataIndex : 'checkOrgId'
//		}, {
//			id : 'percent',
//			header : "换算关系(%)",
//			width : 80,
//			sortable : true,
//			dataIndex : 'percent'
//		}, {
//			id : 'categoryIdPath',
//			header : "指标目录id 路径 ",
//			width : 80,
//			hidden : true,
//			dataIndex : 'categoryIdPath'
//		}, {
//			id : 'categoryNamePath',
//			header : "考核指标目录名称路径",
//			width : 80,
//			hidden : true,
//			dataIndex : 'categoryNamePath'
//		}, {
//			id : 'year',
//			header : "考核年度",
//			width : 120,
//			hidden : true,
//			dataIndex : 'year'
//		}]);
//cm_query_goaldetail.defaultSortable = false;
// var window_add_goaldetail = new Ext.Window({
// title : '添加指标细则',
// width : 360,
// height : 440,
// resizable : false,
// autoHeight : true,
// modal : true,
// closeAction : 'hide',
// listeners : {
// 'hide' : function() {
// // this.setTitle('添加指标细则');
// // Ext.getCmp("form_add_goaldetail").getForm().reset();
// }
// },
// items : [new Ext.FormPanel({
// id : 'form_add_goaldetail',
// labelWidth : 70,
// labelAlign : 'right',
// url : '/supervise/biz/goaldetail/saveGoalDetail.action',
// method : 'post',
// border : false,
// baseCls : 'x-plain',
// bodyStyle : 'padding:5px 5px 0',
// anchor : '100%',
// defaults : {
// width : 240,
// msgTarget : 'side' // 验证信息显示右边
// },
// defaultType : 'textfield',
// items : [{
// xtype : 'hidden',
// name : 'goalDetail.id'
// },{
// xtype : 'combo',
// fieldLabel : '考核年度',
// hiddenName : 'goalDetail.year',
// valueField : 'value',
// displayField : 'text',
// value: check_year,
// mode : 'remote',
// store : ds_year_select,
// value : select_year,
// selectOnFocus : true,
// editable : false,
// allowBlank : false,
// width : 80,
// typeAhead : true,
// readOnly : true,
// triggerAction : 'all',
// loadingText : '加载中...',
// emptyText : '请选择考核年度',
// listeners : {
// 'select' : function(combo, record, index) {
// select_year = combo.getValue();
// var root = catTree.getRootNode();
// // root.setText(check_year + year_category);
// root.reload();
// }
// }
// }, {
// xtype : 'hidden',
// name : 'goalDetail.categoryId'
// }, combotree ,{
// xtype : 'textarea',
// fieldLabel : '考核内容',
// name : 'goalDetail.content',
// height : 200,
// allowBlank : false
// },{
// xtype : 'numberfield',
// fieldLabel : '标准分值',
// name : 'goalDetail.point',
// allowBlank : false,
// maxLength : 20
// },{
// xtype : 'textarea',
// fieldLabel : '评分标准',
// name : 'goalDetail.spec',
// allowBlank : false
// },{
// xtype : 'hidden',
// // fieldLabel : '排序',
// name : 'goalDetail.ordering',
// value : 4
// }, {
// xtype : 'combo',
// fieldLabel : '考核责任单位',
// hiddenName : 'goalDetail.checkOrgId',
// valueField : 'id',
// displayField : 'name',
// mode : 'remote',
// store : ds_org_select,
// selectOnFocus : true,
// editable : false,
// allowBlank : true,
// triggerAction : 'all',
// loadingText : '加载中...',
// emptyText : '请选择部门'
// },{
// xtype : 'numberfield',
// fieldLabel : '换算关系（％）',
// name : 'goalDetail.percent',
// allowBlank : false,
// maxLength : 20
// }, {
// xtype : 'hidden',
// // fieldLabel : '备注',
// name : 'goalDetail.memo'
// },{
// xtype : 'hidden',
// // fieldLabel : '指标目录id 路径',
// name : 'goalDetail.categoryIdPath'
// },{
// xtype : 'hidden',
// // fieldLabel : '考核指标目录名称路径',
// name : 'goalDetail.categoryNamePath'
// }],
// buttonAlign : 'center',
// minButtonWidth : 60,
// buttons : []
// })]
// });
//		
//var ds_query_goaldetail = new Ext.data.Store({
//			proxy : new Ext.data.HttpProxy({
//						url : '/supervise/biz/goaldetail/findGoalDetailByPage.action'
//					}),
//			reader : new Ext.data.JsonReader({
//						root : 'root',
//						successProperty : 'success'
//					}, [{
//								name : 'id',
//								type : 'int'
//							}, {
//								name : 'categoryId',
//								type : 'int'
//							}, {
//								name : 'content',
//								type : 'string'
//							}, {
//								name : 'point',
//								type : 'float'
//							}, {
//								name : 'spec',
//								type : 'string'
//							}, {
//								name : 'ordering',
//								type : 'float'
//							}, {
//								name : 'memo',
//								type : 'string'
//							}, {
//								name : 'checkOrgId',
//								type : 'int'
//							}, {
//								name : 'percent',
//								type : 'float'
//							}, {
//								name : 'categoryIdPath',
//								type : 'string'
//							}, {
//								name : 'categoryNamePath',
//								type : 'string'
//							}, {
//								name : 'year',
//								type : 'int'
//							}])
//		});
//
//var grid_query_goaldetail = new Ext.grid.GridPanel({
//			// iconCls : 'icon-grid',
//			loadMask : {
//				msg : '数据加载中...'
//			},
//			region : 'center',
//			height : 600,
//			cm : cm_query_goaldetail,
//			sm : new Ext.grid.CheckboxSelectionModel({
//						singleSelect : false
//					}),
//			store : ds_query_goaldetail,
//			autoExpandColumn : 'content',
//			// tbar : [btn_add_goaldetail, '-', btn_edit_goaldetail, '-',
//			// btn_del_goaldetail],
//			bbar : new Ext.PagingToolbar({
//						pageSize : 20,
//						store : ds_query_goaldetail,
//						displayInfo : true,
//						displayMsg : '第 {0} - {1} 条  共 {2} 条',
//						refreshText : "刷新",
//						emptyMsg : "没有记录"
//					}),
//			// 检测至少选择一个
//			checkOne : function() {
//				var selections = this.getSelectionModel().getSelections();
//				if (selections.length == 0) {
//					Ext.MessageBox.alert("提示", "请选择一条的记录！");
//					return false;
//				} else if (selections.length != 1) {
//					Ext.MessageBox.alert("提示", "不能选择多行！");
//					return false;
//				}
//				return true;
//			},
//
//			// 检测必须选择一个
//			checkMany : function() {
//				var selections = this.getSelectionModel().getSelections();
//				if (selections.length == 0) {
//					Ext.MessageBox.alert("提示", "请至少选择一条的记录！");
//					return false;
//				}
//				return true;
//			}
//		});
//
//var query_add_goaldetail = new Ext.Panel({
//	height : 150,
//	region : "north",
////	baseCls : "x-plain",
//	style : "padding:5px",
////	layout : "column",
//	items : []
//});